﻿using CAD.DAL;
using CAD.DAL.productoDSTableAdapters;
using CAD.DTO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CAD.BLL
{
    public class productoBLL
    {
        private static producto rowToDto(productoDS.producto_SelectByIdRow row)
        {
            producto objCliente = new producto();
            objCliente.Codigoproducto = row.codigoproducto;
            objCliente.Costocompra = row.costocompra;
            objCliente.Descripcion = row.descripcion;
            objCliente.Estado = row.estado;
            objCliente.Id = row.id;
            objCliente.Idcategoria = row.idcategoria;
            objCliente.Idmarca = row.idmarca;
            objCliente.Idunidadmedida = row.idunidadmedida;
            objCliente.Precioventamayor = row.precioventamayor;
            objCliente.Precioventaunitario = row.precioventaunitario;
            objCliente.Stockideal = row.stockideal;
            objCliente.Stockminimo = row.stockminimo;
            return objCliente;
        }
        public static producto SelectByID(int id)
        {
            producto_SelectByIdTableAdapter adapter = new producto_SelectByIdTableAdapter();
            productoDS.producto_SelectByIdDataTable dtCliente = adapter.SelectByID(id);
            producto objCliente;
            try
            {
                objCliente = rowToDto(dtCliente[0]);
            }
            catch (Exception)
            {
                objCliente = null;
            }
            return objCliente;
        }
        public static producto SelectByCodigo(string codigo)
        {
            producto_SelectByIdTableAdapter adapter = new producto_SelectByIdTableAdapter();
            productoDS.producto_SelectByIdDataTable dtCliente = adapter.SelectByCodigo(codigo);
            producto objCliente;
            try
            {
                objCliente = rowToDto(dtCliente[0]);
            }
            catch (Exception)
            {
                objCliente = null;
            }
            return objCliente;
        }
        public static int insertar(string codigoproducto,int idmarca,int idcategoria,int idunidadmedida,string descripcion,double costocompra,double precioventaunitario,double precioventamayor,int stockideal,int stockminimo)
        {
            int? estudianteId = 0;
            producto_SelectByIdTableAdapter adapter = new producto_SelectByIdTableAdapter();
            adapter.insert(ref estudianteId,codigoproducto,idmarca,idcategoria,idunidadmedida,descripcion,costocompra,precioventaunitario,precioventamayor,stockideal,stockminimo,true);
            int id = (int)estudianteId;
            return id;
        }
        public static void modificar(int id, string codigoproducto, int idmarca, int idcategoria, int idunidadmedida, string descripcion, double costocompra, double precioventaunitario, double precioventamayor, int stockideal, int stockminimo,bool estado)
        {
            producto_SelectByIdTableAdapter adapter = new producto_SelectByIdTableAdapter();
            adapter.Update1(id, codigoproducto, idmarca, idcategoria, idunidadmedida, descripcion, costocompra, precioventaunitario, precioventamayor, stockideal, stockminimo, estado);
        }
    }
}
